Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.06.2018, 03:09
Интересующийся
Отправить личное сообщение для monstantin Посмотреть профиль Найти все сообщения от monstantin
 
Регистрация: 04.01.2017
Сообщений: 12

React API 404
Никак не могу не понять почему запрос не проходит

Есть сервис с открытым API
http://data.gov.spb.ru/api/v1/datasets/

Условия сервиса требуют послать в заголовке
authorization:
Token e3019694305911088a8d7add7f88b05af31cbe03

Проверяю через браузерное расширение, API работает, ответ 200, данные отображаются


Пытаюсь провернуть то же самое в React

componentDidMount() {

            let myHeaders = new Headers();
            myHeaders.append("Authorization-Type", "Token e3019694305911088a8d7add7f88b05af31cbe03");
            myHeaders.append("Content-Type", "application/json");
            myHeaders.append("Access-Control-Allow-Origin", "*");

            let myInit = {
                method: 'GET',
                headers: myHeaders
            };

            let myRequest = new Request('http://data.gov.spb.ru/api/v1/datasets/', myInit);

            fetch(myRequest).then(res => res.json())
            .then( (myBlob) => {
                console.log(myBlob);
            }).catch((e) => {
                console.log(e);
            })



        }



И получаю ошибку

Failed to load http://data.gov.spb.ru/api/v1/datasets/: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'http://localhost:3000' is therefore not allowed access. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Как быть ?????

Последний раз редактировалось monstantin, 14.06.2018 в 03:13.
Ответить с цитированием
  #2 (permalink)  
Старый 14.06.2018, 03:46
Интересующийся
Отправить личное сообщение для monstantin Посмотреть профиль Найти все сообщения от monstantin
 
Регистрация: 04.01.2017
Сообщений: 12

Точно) Убрал) Но все равно по каким-то причинам запрос не проходит, вот кстати заголовки ответа, если послать запрос через браузерную утилиту

server:
nginx/1.12.2
date:
Wed, 13 Jun 2018 23:09:44 GMT
content-type:
application/json
transfer-encoding:
chunked
connection:
keep-alive
expires:
Wed, 13 Jun 2018 23:10:01 GMT
last-modified:
Wed, 13 Jun 2018 23:10:01 GMT
allow:
GET, HEAD, OPTIONS
cache-control:
max-age=0
x-frame-options:
SAMEORIGIN
access-control-allow-methods:
GET, OPTIONS, HEAD
access-control-allow-origin:
*
Ответить с цитированием
  #3 (permalink)  
Старый 14.06.2018, 05:57
Интересующийся
Отправить личное сообщение для monstantin Посмотреть профиль Найти все сообщения от monstantin
 
Регистрация: 04.01.2017
Сообщений: 12

componentDidMount() {

            let myHeaders = new Headers();
            myHeaders.append("authorization", "Token e3019694305911088a8d7add7f88b05af31cbe03");


            let myInit = {
                method: 'GET',
                headers: myHeaders
            };

            let myRequest = new Request('http://data.gov.spb.ru/api/v1/datasets/', myInit);

            fetch(myRequest).then(res => res.json())
            .then( (myBlob) => {
                console.log(myBlob);
            }).catch((e) => {
                console.log(e);
            })



        }






Failed to load http://data.gov.spb.ru/api/v1/datasets/: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'http://localhost:3000' is therefore not allowed access. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
Ответить с цитированием
  #4 (permalink)  
Старый 14.06.2018, 06:53
Интересующийся
Отправить личное сообщение для monstantin Посмотреть профиль Найти все сообщения от monstantin
 
Регистрация: 04.01.2017
Сообщений: 12

Понял спасибо) много времени мне сэкономил)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
node.js + react не принимает пост запрос korih Node.JS 0 15.04.2018 17:52
Ищу Senior Frontend (React, Angular), Москва, 140 - 180 000 gross, full time офис. Ekaterina Polyakova Работа 0 11.08.2016 19:07
Баловство с кодами. clecar Ваши сайты и скрипты 17 14.03.2016 20:37
HTML5 Geolocation API, вопрос о снятии данных User-Agent (X)HTML/CSS 2 22.02.2013 20:09
MVC vs API. Ваше мнение. B~Vladi Общие вопросы Javascript 58 19.10.2010 16:29